JSON ফরম্যাটে ডেটা সংরক্ষণ এবং প্রক্রিয়াকরণ

MySQL NoSQL সাপোর্ট - মাইএসকিউএল (MySQL) - Database Tutorials

261

JSON (JavaScript Object Notation) হল একটি সাধারণ, লাইটওয়েট ডেটা বিনিময় ফরম্যাট যা মানুষের কাছে পাঠযোগ্য এবং মেশিনের জন্য সহজে পার্সযোগ্য। এটি ডেটা স্টোরেজ এবং এক্সচেঞ্জের জন্য একটি জনপ্রিয় ফরম্যাট, বিশেষ করে ওয়েব অ্যাপ্লিকেশনগুলিতে। JSON ফরম্যাটটি মূলত কীগুলোর (key-value pairs) মাধ্যমে ডেটা সংরক্ষণ করে, যা ডেটার স্ট্রাকচার এবং প্রক্রিয়াকরণের জন্য উপযোগী।

MySQL এবং অন্যান্য ডেটাবেস সিস্টেমে JSON ফরম্যাটে ডেটা সংরক্ষণ এবং প্রক্রিয়াকরণ বিভিন্ন সুবিধা প্রদান করে, বিশেষ করে যখন ডেটা ফ্লেক্সিবল এবং হায়ারার্কিকাল (nested) হওয়া দরকার।


1. JSON ফরম্যাটে ডেটা সংরক্ষণ (Storing Data in JSON Format)

MySQL 5.7.8 থেকে JSON ডেটা টাইপ সাপোর্ট শুরু করেছে। এর মাধ্যমে আপনি টেবিলের একটি কলামে JSON ডেটা সংরক্ষণ করতে পারেন।

JSON ডেটা টাইপ কলাম তৈরি করা:

JSON ডেটা সংরক্ষণ করার জন্য, আপনাকে টেবিলের একটি কলাম JSON ডেটা টাইপ ব্যবহার করে তৈরি করতে হবে।

CREATE TABLE users (
    id INT PRIMARY KEY AUTO_INCREMENT,
    name VARCHAR(100),
    details JSON
);

এখানে, details কলামটি JSON ডেটা সংরক্ষণ করার জন্য তৈরি করা হয়েছে। এর মধ্যে আপনি যে কোনো ধরনের JSON ডেটা সন্নিবেশিত করতে পারেন।

JSON ডেটা ইনসার্ট করা:

আপনি JSON ডেটা ইনসার্ট করতে পারেন INSERT কমান্ড ব্যবহার করে:

INSERT INTO users (name, details)
VALUES ('John Doe', '{"age": 30, "email": "johndoe@example.com", "address": {"city": "New York", "zip": "10001"}}');

এখানে details কলামে একটি JSON অবজেক্ট ইনসার্ট করা হয়েছে, যেখানে একজন ব্যবহারকারীর বয়স, ইমেইল এবং ঠিকানা সংরক্ষিত রয়েছে।


2. JSON ডেটা থেকে তথ্য বের করা (Extracting Data from JSON)

MySQL-এ JSON ডেটা থেকে নির্দিষ্ট তথ্য বের করতে আপনি বিভিন্ন ফাংশন ব্যবহার করতে পারেন।

JSON_EXTRACT() ফাংশন:

JSON_EXTRACT() ফাংশন ব্যবহার করে আপনি JSON ডেটার নির্দিষ্ট অংশ বের করতে পারেন।

SELECT JSON_EXTRACT(details, '$.age') AS age
FROM users
WHERE name = 'John Doe';

এটি details কলামের JSON ডেটা থেকে age এর মান বের করে দেখাবে।

-> এবং ->> অপারেটর:

MySQL-এ JSON ডেটা থেকে মান বের করার জন্য আরও সহজ পদ্ধতি হলো -> এবং ->> অপারেটর ব্যবহার করা।

  • -> অপারেটর JSON অবজেক্ট থেকে JSON ফর্ম্যাটে মান রিটার্ন করে।
  • ->> অপারেটর JSON অবজেক্ট থেকে পLAIN (পঠযোগ্য) মান রিটার্ন করে।
SELECT details->'$.age' AS age
FROM users
WHERE name = 'John Doe';

এটি JSON ডেটা থেকে age এর মান JSON ফর্ম্যাটে রিটার্ন করবে।

SELECT details->>'$.age' AS age
FROM users
WHERE name = 'John Doe';

এটি JSON ডেটা থেকে age এর মান পLAIN ফর্ম্যাটে (যেমন 30) রিটার্ন করবে।


3. JSON ডেটা আপডেট করা (Updating JSON Data)

MySQL-এ JSON ডেটা আপডেট করার জন্য JSON_SET() ফাংশন ব্যবহার করা হয়।

UPDATE users
SET details = JSON_SET(details, '$.address.city', 'Los Angeles')
WHERE name = 'John Doe';

এটি John Doe এর ঠিকানার শহরের নাম পরিবর্তন করে Los Angeles করবে।

JSON_INSERT() এবং JSON_REPLACE():

  • JSON_INSERT() ব্যবহার করে যদি JSON ডেটাতে নতুন কীগুলি না থাকে তবে নতুন কীগুলি ইনসার্ট করা হয়।
  • JSON_REPLACE() ব্যবহার করে একটি বিদ্যমান কীর মান পরিবর্তন করা হয়।
UPDATE users
SET details = JSON_INSERT(details, '$.phone', '123-456-7890')
WHERE name = 'John Doe';

এটি details JSON ডেটাতে নতুন একটি phone কীগুলির মান ইনসার্ট করবে।

UPDATE users
SET details = JSON_REPLACE(details, '$.email', 'newemail@example.com')
WHERE name = 'John Doe';

এটি email কীর মান পরিবর্তন করবে।


4. JSON ডেটার ভিতরে শর্ত প্রয়োগ (Querying with JSON Data)

MySQL-এ JSON ডেটার উপর শর্ত প্রয়োগ করতে JSON_CONTAINS() বা JSON_UNQUOTE() ফাংশন ব্যবহার করা হয়।

JSON_CONTAINS():

এটি চেক করে যে একটি JSON অবজেক্টে নির্দিষ্ট মান আছে কিনা।

SELECT name
FROM users
WHERE JSON_CONTAINS(details, '{"city": "New York"}', '$.address');

এটি সেই ব্যবহারকারীদের ফিরিয়ে দিবে যারা address অংশে "city": "New York" তথ্য ধারণ করে।

JSON_UNQUOTE():

এটি JSON ডেটা থেকে কোটেশন মুছে দেয়, যাতে মানটি পLAIN টেক্সট হিসেবে ব্যবহৃত হয়।

SELECT JSON_UNQUOTE(details->'$.email') AS email
FROM users
WHERE name = 'John Doe';

এটি email কীর মানকে কোটেশন ছাড়া রিটার্ন করবে।


5. JSON ডেটা মুছে ফেলা (Deleting JSON Data)

MySQL-এ JSON ডেটা থেকে কনক্রিট মান বা কীগুলি মুছে ফেলতে JSON_REMOVE() ফাংশন ব্যবহার করা হয়।

UPDATE users
SET details = JSON_REMOVE(details, '$.address.zip')
WHERE name = 'John Doe';

এটি details JSON থেকে zip কীগুলি মুছে ফেলবে।


সারাংশ

JSON ফরম্যাটটি ডেটা স্টোরেজ এবং এক্সচেঞ্জের জন্য খুবই জনপ্রিয় এবং প্রায় সব আধুনিক ডেটাবেসে JSON ডেটা টাইপ সাপোর্ট করা হয়। MySQL-এ JSON ডেটা সংরক্ষণ এবং প্রক্রিয়াকরণের জন্য বিভিন্ন ফাংশন এবং অপারেটর রয়েছে, যেমন JSON_EXTRACT(), JSON_SET(), JSON_INSERT(), এবং JSON_REMOVE() যা ডেটার ইন্টিগ্রিটি বজায় রাখে এবং দ্রুত প্রক্রিয়াকরণের সুবিধা দেয়। JSON ডেটা শার্ডিং, স্কেলেবিলিটি, এবং পারফরম্যান্স বাড়ানোর জন্য খুবই কার্যকর।

Content added By
Promotion

Are you sure to start over?

Loading...